package pe.com.bbva.ge.vista.vaadin.ui.component;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.cdainfo.vaadin.spring.Inject;
import com.vaadin.data.util.BeanItemContainer;

import pe.com.bbva.ge.domain.configuracion.Valor;
import pe.com.bbva.ge.negocio.ConfiguracionNegocio;

public class ComboBoxValor extends ComboBoxGE  {

	/**
	 * 
	 */
	private static final long serialVersionUID = 137073569682284727L;
	
	private String codigoLista;
	private String codigoValor;	
	
	@Autowired
	private ConfiguracionNegocio genericoNegocio;
	
	private BeanItemContainer<Valor> containerValor;

	public ComboBoxValor(String codigoLista) {
		super();
		this.codigoLista = codigoLista;
		Inject.inject(this);
	}
	
	@Override
	public void postConstruccion() {
		
		List<Valor> valores = genericoNegocio.obtenerValores(codigoLista);		
		
		/*List<Valor> valores = new ArrayList<Valor>();
		
		Valor valor;
		
		if("origen".equals(codigoLista))
		{
			valor = new Valor();
			valor.setNombre("Bóveda");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("Oficina");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("Transportadora");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("Agente express plus");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("BCRP");
			valores.add(valor);
		}
		else if("destino".equals(codigoLista))
		{
			valor = new Valor();
			valor.setNombre("Oficina");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("Otro Bco/BCRP");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("ATM");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("Agente Express Plus");
			valores.add(valor);
			
			valor = new Valor();
			valor.setNombre("Transportadora");
			valores.add(valor);
		}*/
		
		containerValor = new BeanItemContainer<Valor>(Valor.class,  valores);
		setContainerDataSource(containerValor);
		setItemCaptionPropertyId("nombre");
	}
	
	public Valor obtenerValor()
	{
		Object objeto = getValue();
		if(objeto != null)
		{
			return (Valor) objeto;
		}
		return null;
	}
}
